define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'yikatong/parkcarrecord/index',
                    add_url: 'yikatong/parkcarrecord/add',
                    edit_url: 'yikatong/parkcarrecord/edit',
                    del_url: 'yikatong/parkcarrecord/del',
                    multi_url: 'yikatong/parkcarrecord/multi',
                    table: 'yikatong_parkcarrecord',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        // {field: 'boxid', title: __('Boxid')},
                        // {field: 'empid', title: __('Empid')},
                        // {field: 'placegroupid', title: __('Placegroupid')},
                        {field: 'carno', title: __('Carno')},
                        // {field: 'carno1', title: __('Carno1')},
                        // {field: 'cartype', title: __('Cartype')},
                        // {field: 'carcolor', title: __('Carcolor')},
                        // {field: 'cardno', title: __('Cardno')},
                        // {field: 'cardtype', title: __('Cardtype')},
                        // {field: 'chargeruleid', title: __('Chargeruleid')},
                        // {field: 'mastername', title: __('Mastername')},
                        // {field: 'masterid', title: __('Masterid')},
                        // {field: 'mastertel', title: __('Mastertel')},
                        // {field: 'masteraddr', title: __('Masteraddr')},
                        // {field: 'parkposition', title: __('Parkposition')},
                        {field: 'indatetime', title: __('Indatetime')},
                        // {field: 'inpassageid', title: __('Inpassageid')},
                        // {field: 'inpicturename', title: __('Inpicturename')},
                        // {field: 'inpicturename1', title: __('Inpicturename1')},
                        // {field: 'inopuser', title: __('Inopuser')},
                        // {field: 'instyle', title: __('Instyle')},
                        // {field: 'isrepeat', title: __('Isrepeat')},
                         {field: 'ispay', title: __('Ispay')},
                        {field: 'outdatetime', title: __('Outdatetime')},
                        // {field: 'outpassageid', title: __('Outpassageid')},
                        // {field: 'outpicturename', title: __('Outpicturename')},
                        // {field: 'outopuser', title: __('Outopuser')},
                        // {field: 'outstyle', title: __('Outstyle')},
                        // {field: 'freestyle', title: __('Freestyle')},
                        // {field: 'paysummoney', title: __('Paysummoney')},
                        {field: 'paymoney', title: __('Paymoney')},
                        // {field: 'payaccountmoney', title: __('Payaccountmoney')},
                        // {field: 'factpaymoney', title: __('Factpaymoney')},
                        {field: 'wxpaymoney', title: __('Wxpaymoney')},
                        {field: 'alipaymoney', title: __('Alipaymoney')},
                        {field: 'paydatetime', title: __('Paydatetime')},
                        {field: 'payee', title: __('Payee')},
                        // {field: 'outvirtualtime', title: __('Outvirtualtime')},
                        // {field: 'paystyle', title: __('Paystyle')},
                        // {field: 'recordstate', title: __('Recordstate')},
                        // {field: 'isjs', title: __('Isjs')},
                        // {field: 'isupdateenter', title: __('Isupdateenter')},
                        // {field: 'isupdateexit', title: __('Isupdateexit')},
                        // {field: 'remark', title: __('Remark')},
                        // {field: 'moneystyle', title: __('Moneystyle')},
                        // {field: 'incartype', title: __('Incartype')},
                        // {field: 'inidentify', title: __('Inidentify')},
                        // {field: 'inleft', title: __('Inleft')},
                        // {field: 'intop', title: __('Intop')},
                        // {field: 'inright', title: __('Inright')},
                        // {field: 'inbotton', title: __('Inbotton')},
                        // {field: 'outidentify', title: __('Outidentify')},
                        // {field: 'outleft', title: __('Outleft')},
                        // {field: 'outtop', title: __('Outtop')},
                        // {field: 'outright', title: __('Outright')},
                        // {field: 'outbotton', title: __('Outbotton')},
                        // {field: 'tradeid', title: __('Tradeid')},
                        // {field: 'platno', title: __('Platno')},
                        // {field: 'blnupplatio', title: __('Blnupplatio')},
                        // {field: 'blnupplatmoney', title: __('Blnupplatmoney')},
                        // {field: 'row_number', title: __('Row_number')},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});